package com.linkhub.oms.entity.resulttype;

import com.linkhub.oms.common.enums.mp.BoolEnum;
import com.linkhub.oms.common.enums.mp.CustomerBusinessStatusEnum;
import com.linkhub.oms.common.enums.mp.OrderStatusEnum;
import com.linkhub.oms.entity.innerproperties.OrderFulfillmentEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Description:
 * @Author: echo
 * @Date: 2024/3/31 21:16
 * @Version: 1.0
 */
@Data
public class ShopOrderResultEntity implements Serializable {

    @ApiModelProperty(value = "系统商店id")
    private String sysShopId;

    @ApiModelProperty(value = "系统orderId")
    private String sysOrderId;

    @ApiModelProperty(value = "平台订单id")
    private String orderNumber;

    @ApiModelProperty(value = "用户邮箱")
    private String email;

    @ApiModelProperty(value = "订单总金额")
    private String currentTotalPrice;

    @ApiModelProperty(value = "买家备注")
    private String buyerNote;

    @ApiModelProperty(value = "平台订单物流信息，存储json串")
    private List<OrderFulfillmentEntity> fulfillments;

    @ApiModelProperty(value = "买家指定配送方式")
    private String shippingMethod;

    @ApiModelProperty(value = "下单时间")
    private String createdAt;

    @ApiModelProperty(value = "下单时间转换为标准时间")
    private LocalDateTime createdAtConvert;

    @ApiModelProperty(value = "付款时间")
    private String processedAt;

    @ApiModelProperty(value = "订单更新时间")
    private String updatedAt;

    @ApiModelProperty(value = "订单更新时间转换为标准时间")
    private LocalDateTime updatedAtConvert;

    @ApiModelProperty(value = "提交履约时间")
    private LocalDateTime fulfillmentTime;

    @ApiModelProperty(value = "发货时间")
    private LocalDateTime deliveryTime;

    @ApiModelProperty(value = "订单状态：1-未付款;2-已付款;3-部分退款;4-已退款;5-已取消；20-待打包；21-已出库；30-已驳回;40-已发货;41-已签收；")
    private OrderStatusEnum orderStatus;

    @ApiModelProperty(value = "客户业务状态：1-待匹配;2-待付款;3-待审核;4-待处理;5-已作废;6-非ShipO订单; 20-履约中;30-异常；40-追踪中；")
    private CustomerBusinessStatusEnum customerBusinessStatus;


    @ApiModelProperty(value = "拆分标识：0-否;1-是;")
    private BoolEnum splitFlag;

    @ApiModelProperty(value = "拆分订单的原订单id")
    private Integer sourceOrderNumber;

    @ApiModelProperty(value = "本地化：0-否;1-是;")
    private BoolEnum localization;


}
